export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test (path)
}

// 验证手机号码
export function checkPhoneNumber(value, callback) {
  const reg = /^1[3|4|5|6|7|8|9]\d{9}$/
  if (!value) {
    return callback (new Error ('请填写手机号码！'))
  } else if (!reg.test (value)) {
    return callback (new Error ('请填写正确的手机号码！'))
  } else {
    callback ()
  }
}

export function checkIdNum(rule, value, callback) {
  var reg15 = /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$/
  var reg18 = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
  if (!value) {
    return callback (new Error ('请输入身份证号码'))
  } else if (!reg15.test (value) && !reg18.test (value)) {
    return callback (new Error ('身份证号码不正确'))
  } else {
    callback ()
  }
}

export function decimalsNumb(rule, value, callback) {
  var age = /^[-+]?[0-9]+(\.[0-9]+)?$/
  if (!age.test (value)) {
    callback (new Error ('请输入数值'))
  } else {
    callback ()
  }
}

export function integralNumb(rule, value, callback) {
  var age = /^[1-9]+[0-9]*$/
  if (value && !age.test (value)) {
    callback (new Error ('请输入正整数'))
  } else {
    callback ()
  }
}

export function valueLenght(rule, value, callback) {
  if (value && value.length > 100) {
    callback (new Error ('不能超过100个字符'))
  } else {
    callback ()
  }
}

export function textareaLength(rule, value, callback) {
  if (value && value.length > 500) {
    callback (new Error ('不能超过500个字符'))
  } else {
    callback ()
  }
}

export function tensDigit(rule, value, callback) {
  if (value && value.length > 10) {
    callback (new Error ('数值不能超过10个字符'))
  } else {
    callback ()
  }
}

//专利、软件著作权 专利号/登记号 长度数字校验
export function copyrightPatentNo(rule, value, callback) {
  if (value && value.length != 14) {
    callback (new Error ('专利号由12个字符加“.”和1个字符组成'))
  } else if (value && (value.indexOf ('.') != 12)) {
    callback (new Error ('专利号由12个字符加“.”和1个字符组成'))
  } else {
    callback ()
  }
}

//教育培训及授课经历 培训时长/授课课时数 1-200 正整数
export function trainingRecordTeachTime(rule, value, callback) {
  var age = /^[1-9]+[0-9]*$/
  if ((value >= 1 && value <= 200) && age.test (value)) {
    callback ()
  } else {
    callback (new Error ('请输入1-200之间的正整数'))
  }
}
